(0) Obligation:

Clauses:

transpose(A, B) :- transpose_aux(A, [], B).
transpose_aux([], Y, Z) :- ','(!, eq(Y, Z)).
transpose_aux(R, X1, L) :- ','(head(R, Rh), ','(tail(R, Rt), ','(row2col(Rh, L, Cols, Accm), transpose_aux(Rt, Accm, Cols)))).
row2col([], X, Y, Z) :- ','(!, ','(eq(X, []), ','(eq(Y, []), eq(Z, [])))).
row2col(X, Y, C, A) :- ','(head(X, Xh), ','(head(Y, Yh), ','(head(Yh, Xh), ','(head(A, []), ','(tail(X, Xt), ','(tail(Y, Yt), ','(tail(Yh, Yht), ','(head(C, Yht), ','(tail(C, Ct), ','(tail(A, At), row2col(Xt, Yt, Ct, At))))))))))).
head([], X2).
head(.(H, X3), H).
tail([], []).
tail(.(X4, T), T).
eq(X, X).

Query: transpose(g,a)

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph DT10.

(2) Obligation:

Triples:

row2colA(.(X1, X2)) :- row2colA(X2).
row2colA(.(X1, X2)) :- row2colA(X2).
row2colB(.(X1, X2), []) :- row2colA(X2).
row2colB(.(X1, X2), .([], X3)) :- row2colB(X2, X3).
row2colB(.(X1, X2), []) :- row2colA(X2).
row2colB(.(X1, X2), .(X3, X4)) :- row2colB(X2, X4).
row2colC(.(X1, X2), []) :- row2colA(X2).
row2colC(.(X1, X2), .([], X3)) :- row2colC(X2, X3).
row2colC(.(X1, X2), []) :- row2colA(X2).
row2colC(.(X1, X2), .([], X3)) :- row2colC(X2, X3).
row2colD(.(X1, X2), [], []) :- row2colA(X2).
row2colD(.(X1, X2), .([], X3), []) :- row2colB(X2, X3).
row2colD(.(X1, X2), [], .([], X3)) :- row2colC(X2, X3).
row2colD(.(X1, X2), .([], X3), .([], X4)) :- row2colD(X2, X3, X4).
row2colD(.(X1, X2), [], []) :- row2colA(X2).
row2colD(.(X1, X2), .(X3, X4), []) :- row2colB(X2, X4).
row2colD(.(X1, X2), [], .([], X3)) :- row2colC(X2, X3).
row2colD(.(X1, X2), .(X3, X4), .([], X5)) :- row2colD(X2, X4, X5).
row2colE(.(X1, X2), []) :- row2colA(X2).
row2colE(.(X1, X2), []) :- row2colA(X2).
row2colE(.(X1, X2), .([], X3)) :- row2colE(X2, X3).
row2colE(.(X1, X2), .(.(X1, X3), X4)) :- row2colE(X2, X4).
row2colF(.(X1, X2), [], []) :- row2colA(X2).
row2colF(.(X1, X2), [], .([], X3)) :- row2colB(X2, X3).
row2colF(.(X1, X2), [], []) :- row2colA(X2).
row2colF(.(X1, X2), [], .(X3, X4)) :- row2colB(X2, X4).
row2colF(.(X1, X2), .([], X3), []) :- row2colE(X2, X3).
row2colF(.(X1, X2), .([], X3), .([], X4)) :- row2colF(X2, X3, X4).
row2colF(.(X1, X2), .(.(X1, X3), X4), []) :- row2colE(X2, X4).
row2colF(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) :- row2colF(X2, X4, X5).
row2colG(.(X1, X2), [], []) :- row2colA(X2).
row2colG(.(X1, X2), [], .([], X3)) :- row2colC(X2, X3).
row2colG(.(X1, X2), [], []) :- row2colA(X2).
row2colG(.(X1, X2), [], .([], X3)) :- row2colC(X2, X3).
row2colG(.(X1, X2), .([], X3), []) :- row2colE(X2, X3).
row2colG(.(X1, X2), .([], X3), .([], X4)) :- row2colG(X2, X3, X4).
row2colG(.(X1, X2), .(.(X1, X3), X4), []) :- row2colE(X2, X4).
row2colG(.(X1, X2), .(.(X1, X3), X4), .([], X5)) :- row2colG(X2, X4, X5).
row2colH(.(X1, X2), [], [], []) :- row2colA(X2).
row2colH(.(X1, X2), [], .([], X3), []) :- row2colB(X2, X3).
row2colH(.(X1, X2), [], [], .([], X3)) :- row2colC(X2, X3).
row2colH(.(X1, X2), [], .([], X3), .([], X4)) :- row2colD(X2, X3, X4).
row2colH(.(X1, X2), [], [], []) :- row2colA(X2).
row2colH(.(X1, X2), [], .(X3, X4), []) :- row2colB(X2, X4).
row2colH(.(X1, X2), [], [], .([], X3)) :- row2colC(X2, X3).
row2colH(.(X1, X2), [], .(X3, X4), .([], X5)) :- row2colD(X2, X4, X5).
row2colH(.(X1, X2), .([], X3), [], []) :- row2colE(X2, X3).
row2colH(.(X1, X2), .([], X3), .([], X4), []) :- row2colF(X2, X3, X4).
row2colH(.(X1, X2), .([], X3), [], .([], X4)) :- row2colG(X2, X3, X4).
row2colH(.(X1, X2), .([], X3), .([], X4), .([], X5)) :- row2colH(X2, X3, X4, X5).
row2colH(.(X1, X2), .(.(X1, X3), X4), [], []) :- row2colE(X2, X4).
row2colH(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) :- row2colF(X2, X4, X5).
row2colH(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) :- row2colG(X2, X4, X5).
row2colH(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) :- row2colH(X2, X4, X5, X6).
pI(X1, X2, X3, X4, X5) :- row2colH(X1, X2, X3, X4).
pI(X1, X2, X3, X4, .(X5, X6)) :- ','(row2colcH(X1, X2, X3, X4), pI(X5, X3, X7, X8, X6)).
transposeJ(.(X1, X2), X3) :- pI(X1, X3, X4, X5, X2).

Clauses:

row2colcA([]).
row2colcA(.(X1, X2)) :- row2colcA(X2).
row2colcA(.(X1, X2)) :- row2colcA(X2).
row2colcB([], []).
row2colcB(.(X1, X2), []) :- row2colcA(X2).
row2colcB(.(X1, X2), .([], X3)) :- row2colcB(X2, X3).
row2colcB(.(X1, X2), []) :- row2colcA(X2).
row2colcB(.(X1, X2), .(X3, X4)) :- row2colcB(X2, X4).
row2colcC([], []).
row2colcC(.(X1, X2), []) :- row2colcA(X2).
row2colcC(.(X1, X2), .([], X3)) :- row2colcC(X2, X3).
row2colcC(.(X1, X2), []) :- row2colcA(X2).
row2colcC(.(X1, X2), .([], X3)) :- row2colcC(X2, X3).
row2colcD([], [], []).
row2colcD(.(X1, X2), [], []) :- row2colcA(X2).
row2colcD(.(X1, X2), .([], X3), []) :- row2colcB(X2, X3).
row2colcD(.(X1, X2), [], .([], X3)) :- row2colcC(X2, X3).
row2colcD(.(X1, X2), .([], X3), .([], X4)) :- row2colcD(X2, X3, X4).
row2colcD(.(X1, X2), [], []) :- row2colcA(X2).
row2colcD(.(X1, X2), .(X3, X4), []) :- row2colcB(X2, X4).
row2colcD(.(X1, X2), [], .([], X3)) :- row2colcC(X2, X3).
row2colcD(.(X1, X2), .(X3, X4), .([], X5)) :- row2colcD(X2, X4, X5).
row2colcE([], []).
row2colcE(.(X1, X2), []) :- row2colcA(X2).
row2colcE(.(X1, X2), []) :- row2colcA(X2).
row2colcE(.(X1, X2), .([], X3)) :- row2colcE(X2, X3).
row2colcE(.(X1, X2), .(.(X1, X3), X4)) :- row2colcE(X2, X4).
row2colcF([], [], []).
row2colcF(.(X1, X2), [], []) :- row2colcA(X2).
row2colcF(.(X1, X2), [], .([], X3)) :- row2colcB(X2, X3).
row2colcF(.(X1, X2), [], []) :- row2colcA(X2).
row2colcF(.(X1, X2), [], .(X3, X4)) :- row2colcB(X2, X4).
row2colcF(.(X1, X2), .([], X3), []) :- row2colcE(X2, X3).
row2colcF(.(X1, X2), .([], X3), .([], X4)) :- row2colcF(X2, X3, X4).
row2colcF(.(X1, X2), .(.(X1, X3), X4), []) :- row2colcE(X2, X4).
row2colcF(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) :- row2colcF(X2, X4, X5).
row2colcG([], [], []).
row2colcG(.(X1, X2), [], []) :- row2colcA(X2).
row2colcG(.(X1, X2), [], .([], X3)) :- row2colcC(X2, X3).
row2colcG(.(X1, X2), [], []) :- row2colcA(X2).
row2colcG(.(X1, X2), [], .([], X3)) :- row2colcC(X2, X3).
row2colcG(.(X1, X2), .([], X3), []) :- row2colcE(X2, X3).
row2colcG(.(X1, X2), .([], X3), .([], X4)) :- row2colcG(X2, X3, X4).
row2colcG(.(X1, X2), .(.(X1, X3), X4), []) :- row2colcE(X2, X4).
row2colcG(.(X1, X2), .(.(X1, X3), X4), .([], X5)) :- row2colcG(X2, X4, X5).
row2colcH([], [], [], []).
row2colcH(.(X1, X2), [], [], []) :- row2colcA(X2).
row2colcH(.(X1, X2), [], .([], X3), []) :- row2colcB(X2, X3).
row2colcH(.(X1, X2), [], [], .([], X3)) :- row2colcC(X2, X3).
row2colcH(.(X1, X2), [], .([], X3), .([], X4)) :- row2colcD(X2, X3, X4).
row2colcH(.(X1, X2), [], [], []) :- row2colcA(X2).
row2colcH(.(X1, X2), [], .(X3, X4), []) :- row2colcB(X2, X4).
row2colcH(.(X1, X2), [], [], .([], X3)) :- row2colcC(X2, X3).
row2colcH(.(X1, X2), [], .(X3, X4), .([], X5)) :- row2colcD(X2, X4, X5).
row2colcH(.(X1, X2), .([], X3), [], []) :- row2colcE(X2, X3).
row2colcH(.(X1, X2), .([], X3), .([], X4), []) :- row2colcF(X2, X3, X4).
row2colcH(.(X1, X2), .([], X3), [], .([], X4)) :- row2colcG(X2, X3, X4).
row2colcH(.(X1, X2), .([], X3), .([], X4), .([], X5)) :- row2colcH(X2, X3, X4, X5).
row2colcH(.(X1, X2), .(.(X1, X3), X4), [], []) :- row2colcE(X2, X4).
row2colcH(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) :- row2colcF(X2, X4, X5).
row2colcH(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) :- row2colcG(X2, X4, X5).
row2colcH(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) :- row2colcH(X2, X4, X5, X6).
qcI(X1, X2, X3, X3, []) :- row2colcH(X1, X2, X3, X3).
qcI(X1, X2, X3, X4, .(X5, X6)) :- ','(row2colcH(X1, X2, X3, X4), qcI(X5, X3, X7, X8, X6)).

Afs:

transposeJ(x1, x2)  =  transposeJ(x1)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:
transposeJ_in: (b,f)
pI_in: (b,f,f,f,b)
row2colH_in: (b,f,f,f)
row2colA_in: (b)
row2colB_in: (b,f)
row2colC_in: (b,f)
row2colD_in: (b,f,f)
row2colE_in: (b,f)
row2colF_in: (b,f,f)
row2colG_in: (b,f,f)
row2colcH_in: (b,f,f,f)
row2colcA_in: (b)
row2colcB_in: (b,f)
row2colcC_in: (b,f)
row2colcD_in: (b,f,f)
row2colcE_in: (b,f)
row2colcF_in: (b,f,f)
row2colcG_in: (b,f,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

TRANSPOSEJ_IN_GA(.(X1, X2), X3) → U46_GA(X1, X2, X3, pI_in_gaaag(X1, X3, X4, X5, X2))
TRANSPOSEJ_IN_GA(.(X1, X2), X3) → PI_IN_GAAAG(X1, X3, X4, X5, X2)
PI_IN_GAAAG(X1, X2, X3, X4, X5) → U43_GAAAG(X1, X2, X3, X4, X5, row2colH_in_gaaa(X1, X2, X3, X4))
PI_IN_GAAAG(X1, X2, X3, X4, X5) → ROW2COLH_IN_GAAA(X1, X2, X3, X4)
ROW2COLH_IN_GAAA(.(X1, X2), [], [], []) → U29_GAAA(X1, X2, row2colA_in_g(X2))
ROW2COLH_IN_GAAA(.(X1, X2), [], [], []) → ROW2COLA_IN_G(X2)
ROW2COLA_IN_G(.(X1, X2)) → U1_G(X1, X2, row2colA_in_g(X2))
ROW2COLA_IN_G(.(X1, X2)) → ROW2COLA_IN_G(X2)
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), []) → U30_GAAA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), []) → ROW2COLB_IN_GA(X2, X3)
ROW2COLB_IN_GA(.(X1, X2), []) → U2_GA(X1, X2, row2colA_in_g(X2))
ROW2COLB_IN_GA(.(X1, X2), []) → ROW2COLA_IN_G(X2)
ROW2COLB_IN_GA(.(X1, X2), .([], X3)) → U3_GA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLB_IN_GA(.(X1, X2), .([], X3)) → ROW2COLB_IN_GA(X2, X3)
ROW2COLB_IN_GA(.(X1, X2), .(X3, X4)) → U4_GA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLB_IN_GA(.(X1, X2), .(X3, X4)) → ROW2COLB_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), [], [], .([], X3)) → U31_GAAA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLH_IN_GAAA(.(X1, X2), [], [], .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLC_IN_GA(.(X1, X2), []) → U5_GA(X1, X2, row2colA_in_g(X2))
ROW2COLC_IN_GA(.(X1, X2), []) → ROW2COLA_IN_G(X2)
ROW2COLC_IN_GA(.(X1, X2), .([], X3)) → U6_GA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLC_IN_GA(.(X1, X2), .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), .([], X4)) → U32_GAAA(X1, X2, X3, X4, row2colD_in_gaa(X2, X3, X4))
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), .([], X4)) → ROW2COLD_IN_GAA(X2, X3, X4)
ROW2COLD_IN_GAA(.(X1, X2), [], []) → U7_GAA(X1, X2, row2colA_in_g(X2))
ROW2COLD_IN_GAA(.(X1, X2), [], []) → ROW2COLA_IN_G(X2)
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), []) → U8_GAA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), []) → ROW2COLB_IN_GA(X2, X3)
ROW2COLD_IN_GAA(.(X1, X2), [], .([], X3)) → U9_GAA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLD_IN_GAA(.(X1, X2), [], .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → U10_GAA(X1, X2, X3, X4, row2colD_in_gaa(X2, X3, X4))
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLD_IN_GAA(X2, X3, X4)
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), []) → U11_GAA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), []) → ROW2COLB_IN_GA(X2, X4)
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), .([], X5)) → U12_GAA(X1, X2, X3, X4, X5, row2colD_in_gaa(X2, X4, X5))
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), .([], X5)) → ROW2COLD_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), []) → U33_GAAA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), []) → ROW2COLB_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), .([], X5)) → U34_GAAA(X1, X2, X3, X4, X5, row2colD_in_gaa(X2, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), .([], X5)) → ROW2COLD_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], []) → U35_GAAA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], []) → ROW2COLE_IN_GA(X2, X3)
ROW2COLE_IN_GA(.(X1, X2), []) → U13_GA(X1, X2, row2colA_in_g(X2))
ROW2COLE_IN_GA(.(X1, X2), []) → ROW2COLA_IN_G(X2)
ROW2COLE_IN_GA(.(X1, X2), .([], X3)) → U14_GA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLE_IN_GA(.(X1, X2), .([], X3)) → ROW2COLE_IN_GA(X2, X3)
ROW2COLE_IN_GA(.(X1, X2), .(.(X1, X3), X4)) → U15_GA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLE_IN_GA(.(X1, X2), .(.(X1, X3), X4)) → ROW2COLE_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), []) → U36_GAAA(X1, X2, X3, X4, row2colF_in_gaa(X2, X3, X4))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), []) → ROW2COLF_IN_GAA(X2, X3, X4)
ROW2COLF_IN_GAA(.(X1, X2), [], []) → U16_GAA(X1, X2, row2colA_in_g(X2))
ROW2COLF_IN_GAA(.(X1, X2), [], []) → ROW2COLA_IN_G(X2)
ROW2COLF_IN_GAA(.(X1, X2), [], .([], X3)) → U17_GAA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLF_IN_GAA(.(X1, X2), [], .([], X3)) → ROW2COLB_IN_GA(X2, X3)
ROW2COLF_IN_GAA(.(X1, X2), [], .(X3, X4)) → U18_GAA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLF_IN_GAA(.(X1, X2), [], .(X3, X4)) → ROW2COLB_IN_GA(X2, X4)
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), []) → U19_GAA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), []) → ROW2COLE_IN_GA(X2, X3)
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → U20_GAA(X1, X2, X3, X4, row2colF_in_gaa(X2, X3, X4))
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLF_IN_GAA(X2, X3, X4)
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → U21_GAA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → ROW2COLE_IN_GA(X2, X4)
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U22_GAA(X1, X2, X3, X4, X5, row2colF_in_gaa(X2, X4, X5))
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → ROW2COLF_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], .([], X4)) → U37_GAAA(X1, X2, X3, X4, row2colG_in_gaa(X2, X3, X4))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], .([], X4)) → ROW2COLG_IN_GAA(X2, X3, X4)
ROW2COLG_IN_GAA(.(X1, X2), [], []) → U23_GAA(X1, X2, row2colA_in_g(X2))
ROW2COLG_IN_GAA(.(X1, X2), [], []) → ROW2COLA_IN_G(X2)
ROW2COLG_IN_GAA(.(X1, X2), [], .([], X3)) → U24_GAA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLG_IN_GAA(.(X1, X2), [], .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), []) → U25_GAA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), []) → ROW2COLE_IN_GA(X2, X3)
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → U26_GAA(X1, X2, X3, X4, row2colG_in_gaa(X2, X3, X4))
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLG_IN_GAA(X2, X3, X4)
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → U27_GAA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → ROW2COLE_IN_GA(X2, X4)
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U28_GAA(X1, X2, X3, X4, X5, row2colG_in_gaa(X2, X4, X5))
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → ROW2COLG_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U38_GAAA(X1, X2, X3, X4, X5, row2colH_in_gaaa(X2, X3, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), .([], X5)) → ROW2COLH_IN_GAAA(X2, X3, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], []) → U39_GAAA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], []) → ROW2COLE_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U40_GAAA(X1, X2, X3, X4, X5, row2colF_in_gaa(X2, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → ROW2COLF_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U41_GAAA(X1, X2, X3, X4, X5, row2colG_in_gaa(X2, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → ROW2COLG_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U42_GAAA(X1, X2, X3, X4, X5, X6, row2colH_in_gaaa(X2, X4, X5, X6))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → ROW2COLH_IN_GAAA(X2, X4, X5, X6)
PI_IN_GAAAG(X1, X2, X3, X4, .(X5, X6)) → U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X1, X2, X3, X4))
U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X1, X2, X3, X4)) → U45_GAAAG(X1, X2, X3, X4, X5, X6, pI_in_gaaag(X5, X3, X7, X8, X6))
U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X1, X2, X3, X4)) → PI_IN_GAAAG(X5, X3, X7, X8, X6)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
pI_in_gaaag(x1, x2, x3, x4, x5)  =  pI_in_gaaag(x1, x5)
row2colH_in_gaaa(x1, x2, x3, x4)  =  row2colH_in_gaaa(x1)
row2colA_in_g(x1)  =  row2colA_in_g(x1)
row2colB_in_ga(x1, x2)  =  row2colB_in_ga(x1)
row2colC_in_ga(x1, x2)  =  row2colC_in_ga(x1)
row2colD_in_gaa(x1, x2, x3)  =  row2colD_in_gaa(x1)
row2colE_in_ga(x1, x2)  =  row2colE_in_ga(x1)
row2colF_in_gaa(x1, x2, x3)  =  row2colF_in_gaa(x1)
row2colG_in_gaa(x1, x2, x3)  =  row2colG_in_gaa(x1)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
TRANSPOSEJ_IN_GA(x1, x2)  =  TRANSPOSEJ_IN_GA(x1)
U46_GA(x1, x2, x3, x4)  =  U46_GA(x1, x2, x4)
PI_IN_GAAAG(x1, x2, x3, x4, x5)  =  PI_IN_GAAAG(x1, x5)
U43_GAAAG(x1, x2, x3, x4, x5, x6)  =  U43_GAAAG(x1, x5, x6)
ROW2COLH_IN_GAAA(x1, x2, x3, x4)  =  ROW2COLH_IN_GAAA(x1)
U29_GAAA(x1, x2, x3)  =  U29_GAAA(x1, x2, x3)
ROW2COLA_IN_G(x1)  =  ROW2COLA_IN_G(x1)
U1_G(x1, x2, x3)  =  U1_G(x1, x2, x3)
U30_GAAA(x1, x2, x3, x4)  =  U30_GAAA(x1, x2, x4)
ROW2COLB_IN_GA(x1, x2)  =  ROW2COLB_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x2, x3)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x2, x4)
U4_GA(x1, x2, x3, x4, x5)  =  U4_GA(x1, x2, x5)
U31_GAAA(x1, x2, x3, x4)  =  U31_GAAA(x1, x2, x4)
ROW2COLC_IN_GA(x1, x2)  =  ROW2COLC_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x1, x2, x3)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x2, x4)
U32_GAAA(x1, x2, x3, x4, x5)  =  U32_GAAA(x1, x2, x5)
ROW2COLD_IN_GAA(x1, x2, x3)  =  ROW2COLD_IN_GAA(x1)
U7_GAA(x1, x2, x3)  =  U7_GAA(x1, x2, x3)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x1, x2, x4)
U9_GAA(x1, x2, x3, x4)  =  U9_GAA(x1, x2, x4)
U10_GAA(x1, x2, x3, x4, x5)  =  U10_GAA(x1, x2, x5)
U11_GAA(x1, x2, x3, x4, x5)  =  U11_GAA(x1, x2, x5)
U12_GAA(x1, x2, x3, x4, x5, x6)  =  U12_GAA(x1, x2, x6)
U33_GAAA(x1, x2, x3, x4, x5)  =  U33_GAAA(x1, x2, x5)
U34_GAAA(x1, x2, x3, x4, x5, x6)  =  U34_GAAA(x1, x2, x6)
U35_GAAA(x1, x2, x3, x4)  =  U35_GAAA(x1, x2, x4)
ROW2COLE_IN_GA(x1, x2)  =  ROW2COLE_IN_GA(x1)
U13_GA(x1, x2, x3)  =  U13_GA(x1, x2, x3)
U14_GA(x1, x2, x3, x4)  =  U14_GA(x1, x2, x4)
U15_GA(x1, x2, x3, x4, x5)  =  U15_GA(x1, x2, x5)
U36_GAAA(x1, x2, x3, x4, x5)  =  U36_GAAA(x1, x2, x5)
ROW2COLF_IN_GAA(x1, x2, x3)  =  ROW2COLF_IN_GAA(x1)
U16_GAA(x1, x2, x3)  =  U16_GAA(x1, x2, x3)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x1, x2, x4)
U18_GAA(x1, x2, x3, x4, x5)  =  U18_GAA(x1, x2, x5)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x1, x2, x4)
U20_GAA(x1, x2, x3, x4, x5)  =  U20_GAA(x1, x2, x5)
U21_GAA(x1, x2, x3, x4, x5)  =  U21_GAA(x1, x2, x5)
U22_GAA(x1, x2, x3, x4, x5, x6)  =  U22_GAA(x1, x2, x6)
U37_GAAA(x1, x2, x3, x4, x5)  =  U37_GAAA(x1, x2, x5)
ROW2COLG_IN_GAA(x1, x2, x3)  =  ROW2COLG_IN_GAA(x1)
U23_GAA(x1, x2, x3)  =  U23_GAA(x1, x2, x3)
U24_GAA(x1, x2, x3, x4)  =  U24_GAA(x1, x2, x4)
U25_GAA(x1, x2, x3, x4)  =  U25_GAA(x1, x2, x4)
U26_GAA(x1, x2, x3, x4, x5)  =  U26_GAA(x1, x2, x5)
U27_GAA(x1, x2, x3, x4, x5)  =  U27_GAA(x1, x2, x5)
U28_GAA(x1, x2, x3, x4, x5, x6)  =  U28_GAA(x1, x2, x6)
U38_GAAA(x1, x2, x3, x4, x5, x6)  =  U38_GAAA(x1, x2, x6)
U39_GAAA(x1, x2, x3, x4, x5)  =  U39_GAAA(x1, x2, x5)
U40_GAAA(x1, x2, x3, x4, x5, x6)  =  U40_GAAA(x1, x2, x6)
U41_GAAA(x1, x2, x3, x4, x5, x6)  =  U41_GAAA(x1, x2, x6)
U42_GAAA(x1, x2, x3, x4, x5, x6, x7)  =  U42_GAAA(x1, x2, x7)
U44_GAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U44_GAAAG(x1, x5, x6, x7)
U45_GAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U45_GAAAG(x1, x4, x5, x6, x7)

We have to consider all (P,R,Pi)-chains

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TRANSPOSEJ_IN_GA(.(X1, X2), X3) → U46_GA(X1, X2, X3, pI_in_gaaag(X1, X3, X4, X5, X2))
TRANSPOSEJ_IN_GA(.(X1, X2), X3) → PI_IN_GAAAG(X1, X3, X4, X5, X2)
PI_IN_GAAAG(X1, X2, X3, X4, X5) → U43_GAAAG(X1, X2, X3, X4, X5, row2colH_in_gaaa(X1, X2, X3, X4))
PI_IN_GAAAG(X1, X2, X3, X4, X5) → ROW2COLH_IN_GAAA(X1, X2, X3, X4)
ROW2COLH_IN_GAAA(.(X1, X2), [], [], []) → U29_GAAA(X1, X2, row2colA_in_g(X2))
ROW2COLH_IN_GAAA(.(X1, X2), [], [], []) → ROW2COLA_IN_G(X2)
ROW2COLA_IN_G(.(X1, X2)) → U1_G(X1, X2, row2colA_in_g(X2))
ROW2COLA_IN_G(.(X1, X2)) → ROW2COLA_IN_G(X2)
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), []) → U30_GAAA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), []) → ROW2COLB_IN_GA(X2, X3)
ROW2COLB_IN_GA(.(X1, X2), []) → U2_GA(X1, X2, row2colA_in_g(X2))
ROW2COLB_IN_GA(.(X1, X2), []) → ROW2COLA_IN_G(X2)
ROW2COLB_IN_GA(.(X1, X2), .([], X3)) → U3_GA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLB_IN_GA(.(X1, X2), .([], X3)) → ROW2COLB_IN_GA(X2, X3)
ROW2COLB_IN_GA(.(X1, X2), .(X3, X4)) → U4_GA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLB_IN_GA(.(X1, X2), .(X3, X4)) → ROW2COLB_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), [], [], .([], X3)) → U31_GAAA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLH_IN_GAAA(.(X1, X2), [], [], .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLC_IN_GA(.(X1, X2), []) → U5_GA(X1, X2, row2colA_in_g(X2))
ROW2COLC_IN_GA(.(X1, X2), []) → ROW2COLA_IN_G(X2)
ROW2COLC_IN_GA(.(X1, X2), .([], X3)) → U6_GA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLC_IN_GA(.(X1, X2), .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), .([], X4)) → U32_GAAA(X1, X2, X3, X4, row2colD_in_gaa(X2, X3, X4))
ROW2COLH_IN_GAAA(.(X1, X2), [], .([], X3), .([], X4)) → ROW2COLD_IN_GAA(X2, X3, X4)
ROW2COLD_IN_GAA(.(X1, X2), [], []) → U7_GAA(X1, X2, row2colA_in_g(X2))
ROW2COLD_IN_GAA(.(X1, X2), [], []) → ROW2COLA_IN_G(X2)
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), []) → U8_GAA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), []) → ROW2COLB_IN_GA(X2, X3)
ROW2COLD_IN_GAA(.(X1, X2), [], .([], X3)) → U9_GAA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLD_IN_GAA(.(X1, X2), [], .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → U10_GAA(X1, X2, X3, X4, row2colD_in_gaa(X2, X3, X4))
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLD_IN_GAA(X2, X3, X4)
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), []) → U11_GAA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), []) → ROW2COLB_IN_GA(X2, X4)
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), .([], X5)) → U12_GAA(X1, X2, X3, X4, X5, row2colD_in_gaa(X2, X4, X5))
ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), .([], X5)) → ROW2COLD_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), []) → U33_GAAA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), []) → ROW2COLB_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), .([], X5)) → U34_GAAA(X1, X2, X3, X4, X5, row2colD_in_gaa(X2, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), [], .(X3, X4), .([], X5)) → ROW2COLD_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], []) → U35_GAAA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], []) → ROW2COLE_IN_GA(X2, X3)
ROW2COLE_IN_GA(.(X1, X2), []) → U13_GA(X1, X2, row2colA_in_g(X2))
ROW2COLE_IN_GA(.(X1, X2), []) → ROW2COLA_IN_G(X2)
ROW2COLE_IN_GA(.(X1, X2), .([], X3)) → U14_GA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLE_IN_GA(.(X1, X2), .([], X3)) → ROW2COLE_IN_GA(X2, X3)
ROW2COLE_IN_GA(.(X1, X2), .(.(X1, X3), X4)) → U15_GA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLE_IN_GA(.(X1, X2), .(.(X1, X3), X4)) → ROW2COLE_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), []) → U36_GAAA(X1, X2, X3, X4, row2colF_in_gaa(X2, X3, X4))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), []) → ROW2COLF_IN_GAA(X2, X3, X4)
ROW2COLF_IN_GAA(.(X1, X2), [], []) → U16_GAA(X1, X2, row2colA_in_g(X2))
ROW2COLF_IN_GAA(.(X1, X2), [], []) → ROW2COLA_IN_G(X2)
ROW2COLF_IN_GAA(.(X1, X2), [], .([], X3)) → U17_GAA(X1, X2, X3, row2colB_in_ga(X2, X3))
ROW2COLF_IN_GAA(.(X1, X2), [], .([], X3)) → ROW2COLB_IN_GA(X2, X3)
ROW2COLF_IN_GAA(.(X1, X2), [], .(X3, X4)) → U18_GAA(X1, X2, X3, X4, row2colB_in_ga(X2, X4))
ROW2COLF_IN_GAA(.(X1, X2), [], .(X3, X4)) → ROW2COLB_IN_GA(X2, X4)
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), []) → U19_GAA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), []) → ROW2COLE_IN_GA(X2, X3)
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → U20_GAA(X1, X2, X3, X4, row2colF_in_gaa(X2, X3, X4))
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLF_IN_GAA(X2, X3, X4)
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → U21_GAA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → ROW2COLE_IN_GA(X2, X4)
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U22_GAA(X1, X2, X3, X4, X5, row2colF_in_gaa(X2, X4, X5))
ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → ROW2COLF_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], .([], X4)) → U37_GAAA(X1, X2, X3, X4, row2colG_in_gaa(X2, X3, X4))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), [], .([], X4)) → ROW2COLG_IN_GAA(X2, X3, X4)
ROW2COLG_IN_GAA(.(X1, X2), [], []) → U23_GAA(X1, X2, row2colA_in_g(X2))
ROW2COLG_IN_GAA(.(X1, X2), [], []) → ROW2COLA_IN_G(X2)
ROW2COLG_IN_GAA(.(X1, X2), [], .([], X3)) → U24_GAA(X1, X2, X3, row2colC_in_ga(X2, X3))
ROW2COLG_IN_GAA(.(X1, X2), [], .([], X3)) → ROW2COLC_IN_GA(X2, X3)
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), []) → U25_GAA(X1, X2, X3, row2colE_in_ga(X2, X3))
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), []) → ROW2COLE_IN_GA(X2, X3)
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → U26_GAA(X1, X2, X3, X4, row2colG_in_gaa(X2, X3, X4))
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLG_IN_GAA(X2, X3, X4)
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → U27_GAA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), []) → ROW2COLE_IN_GA(X2, X4)
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U28_GAA(X1, X2, X3, X4, X5, row2colG_in_gaa(X2, X4, X5))
ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → ROW2COLG_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U38_GAAA(X1, X2, X3, X4, X5, row2colH_in_gaaa(X2, X3, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), .([], X5)) → ROW2COLH_IN_GAAA(X2, X3, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], []) → U39_GAAA(X1, X2, X3, X4, row2colE_in_ga(X2, X4))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], []) → ROW2COLE_IN_GA(X2, X4)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U40_GAAA(X1, X2, X3, X4, X5, row2colF_in_gaa(X2, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → ROW2COLF_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U41_GAAA(X1, X2, X3, X4, X5, row2colG_in_gaa(X2, X4, X5))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → ROW2COLG_IN_GAA(X2, X4, X5)
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U42_GAAA(X1, X2, X3, X4, X5, X6, row2colH_in_gaaa(X2, X4, X5, X6))
ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → ROW2COLH_IN_GAAA(X2, X4, X5, X6)
PI_IN_GAAAG(X1, X2, X3, X4, .(X5, X6)) → U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X1, X2, X3, X4))
U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X1, X2, X3, X4)) → U45_GAAAG(X1, X2, X3, X4, X5, X6, pI_in_gaaag(X5, X3, X7, X8, X6))
U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X1, X2, X3, X4)) → PI_IN_GAAAG(X5, X3, X7, X8, X6)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
pI_in_gaaag(x1, x2, x3, x4, x5)  =  pI_in_gaaag(x1, x5)
row2colH_in_gaaa(x1, x2, x3, x4)  =  row2colH_in_gaaa(x1)
row2colA_in_g(x1)  =  row2colA_in_g(x1)
row2colB_in_ga(x1, x2)  =  row2colB_in_ga(x1)
row2colC_in_ga(x1, x2)  =  row2colC_in_ga(x1)
row2colD_in_gaa(x1, x2, x3)  =  row2colD_in_gaa(x1)
row2colE_in_ga(x1, x2)  =  row2colE_in_ga(x1)
row2colF_in_gaa(x1, x2, x3)  =  row2colF_in_gaa(x1)
row2colG_in_gaa(x1, x2, x3)  =  row2colG_in_gaa(x1)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
TRANSPOSEJ_IN_GA(x1, x2)  =  TRANSPOSEJ_IN_GA(x1)
U46_GA(x1, x2, x3, x4)  =  U46_GA(x1, x2, x4)
PI_IN_GAAAG(x1, x2, x3, x4, x5)  =  PI_IN_GAAAG(x1, x5)
U43_GAAAG(x1, x2, x3, x4, x5, x6)  =  U43_GAAAG(x1, x5, x6)
ROW2COLH_IN_GAAA(x1, x2, x3, x4)  =  ROW2COLH_IN_GAAA(x1)
U29_GAAA(x1, x2, x3)  =  U29_GAAA(x1, x2, x3)
ROW2COLA_IN_G(x1)  =  ROW2COLA_IN_G(x1)
U1_G(x1, x2, x3)  =  U1_G(x1, x2, x3)
U30_GAAA(x1, x2, x3, x4)  =  U30_GAAA(x1, x2, x4)
ROW2COLB_IN_GA(x1, x2)  =  ROW2COLB_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x2, x3)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x2, x4)
U4_GA(x1, x2, x3, x4, x5)  =  U4_GA(x1, x2, x5)
U31_GAAA(x1, x2, x3, x4)  =  U31_GAAA(x1, x2, x4)
ROW2COLC_IN_GA(x1, x2)  =  ROW2COLC_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x1, x2, x3)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x2, x4)
U32_GAAA(x1, x2, x3, x4, x5)  =  U32_GAAA(x1, x2, x5)
ROW2COLD_IN_GAA(x1, x2, x3)  =  ROW2COLD_IN_GAA(x1)
U7_GAA(x1, x2, x3)  =  U7_GAA(x1, x2, x3)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x1, x2, x4)
U9_GAA(x1, x2, x3, x4)  =  U9_GAA(x1, x2, x4)
U10_GAA(x1, x2, x3, x4, x5)  =  U10_GAA(x1, x2, x5)
U11_GAA(x1, x2, x3, x4, x5)  =  U11_GAA(x1, x2, x5)
U12_GAA(x1, x2, x3, x4, x5, x6)  =  U12_GAA(x1, x2, x6)
U33_GAAA(x1, x2, x3, x4, x5)  =  U33_GAAA(x1, x2, x5)
U34_GAAA(x1, x2, x3, x4, x5, x6)  =  U34_GAAA(x1, x2, x6)
U35_GAAA(x1, x2, x3, x4)  =  U35_GAAA(x1, x2, x4)
ROW2COLE_IN_GA(x1, x2)  =  ROW2COLE_IN_GA(x1)
U13_GA(x1, x2, x3)  =  U13_GA(x1, x2, x3)
U14_GA(x1, x2, x3, x4)  =  U14_GA(x1, x2, x4)
U15_GA(x1, x2, x3, x4, x5)  =  U15_GA(x1, x2, x5)
U36_GAAA(x1, x2, x3, x4, x5)  =  U36_GAAA(x1, x2, x5)
ROW2COLF_IN_GAA(x1, x2, x3)  =  ROW2COLF_IN_GAA(x1)
U16_GAA(x1, x2, x3)  =  U16_GAA(x1, x2, x3)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x1, x2, x4)
U18_GAA(x1, x2, x3, x4, x5)  =  U18_GAA(x1, x2, x5)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x1, x2, x4)
U20_GAA(x1, x2, x3, x4, x5)  =  U20_GAA(x1, x2, x5)
U21_GAA(x1, x2, x3, x4, x5)  =  U21_GAA(x1, x2, x5)
U22_GAA(x1, x2, x3, x4, x5, x6)  =  U22_GAA(x1, x2, x6)
U37_GAAA(x1, x2, x3, x4, x5)  =  U37_GAAA(x1, x2, x5)
ROW2COLG_IN_GAA(x1, x2, x3)  =  ROW2COLG_IN_GAA(x1)
U23_GAA(x1, x2, x3)  =  U23_GAA(x1, x2, x3)
U24_GAA(x1, x2, x3, x4)  =  U24_GAA(x1, x2, x4)
U25_GAA(x1, x2, x3, x4)  =  U25_GAA(x1, x2, x4)
U26_GAA(x1, x2, x3, x4, x5)  =  U26_GAA(x1, x2, x5)
U27_GAA(x1, x2, x3, x4, x5)  =  U27_GAA(x1, x2, x5)
U28_GAA(x1, x2, x3, x4, x5, x6)  =  U28_GAA(x1, x2, x6)
U38_GAAA(x1, x2, x3, x4, x5, x6)  =  U38_GAAA(x1, x2, x6)
U39_GAAA(x1, x2, x3, x4, x5)  =  U39_GAAA(x1, x2, x5)
U40_GAAA(x1, x2, x3, x4, x5, x6)  =  U40_GAAA(x1, x2, x6)
U41_GAAA(x1, x2, x3, x4, x5, x6)  =  U41_GAAA(x1, x2, x6)
U42_GAAA(x1, x2, x3, x4, x5, x6, x7)  =  U42_GAAA(x1, x2, x7)
U44_GAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U44_GAAAG(x1, x5, x6, x7)
U45_GAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U45_GAAAG(x1, x4, x5, x6, x7)

We have to consider all (P,R,Pi)-chains

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 9 SCCs with 75 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLA_IN_G(.(X1, X2)) → ROW2COLA_IN_G(X2)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLA_IN_G(x1)  =  ROW2COLA_IN_G(x1)

We have to consider all (P,R,Pi)-chains

(8) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLA_IN_G(.(X1, X2)) → ROW2COLA_IN_G(X2)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(10) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLA_IN_G(.(X1, X2)) → ROW2COLA_IN_G(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLA_IN_G(.(X1, X2)) → ROW2COLA_IN_G(X2)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLE_IN_GA(.(X1, X2), .(.(X1, X3), X4)) → ROW2COLE_IN_GA(X2, X4)
ROW2COLE_IN_GA(.(X1, X2), .([], X3)) → ROW2COLE_IN_GA(X2, X3)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLE_IN_GA(x1, x2)  =  ROW2COLE_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(15) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLE_IN_GA(.(X1, X2), .(.(X1, X3), X4)) → ROW2COLE_IN_GA(X2, X4)
ROW2COLE_IN_GA(.(X1, X2), .([], X3)) → ROW2COLE_IN_GA(X2, X3)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLE_IN_GA(x1, x2)  =  ROW2COLE_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(17) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(18) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLE_IN_GA(.(X1, X2)) → ROW2COLE_IN_GA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(19) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLE_IN_GA(.(X1, X2)) → ROW2COLE_IN_GA(X2)
    The graph contains the following edges 1 > 1

(20) YES

(21) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLC_IN_GA(.(X1, X2), .([], X3)) → ROW2COLC_IN_GA(X2, X3)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLC_IN_GA(x1, x2)  =  ROW2COLC_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(22) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLC_IN_GA(.(X1, X2), .([], X3)) → ROW2COLC_IN_GA(X2, X3)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLC_IN_GA(x1, x2)  =  ROW2COLC_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(24) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLC_IN_GA(.(X1, X2)) → ROW2COLC_IN_GA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(26) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLC_IN_GA(.(X1, X2)) → ROW2COLC_IN_GA(X2)
    The graph contains the following edges 1 > 1

(27) YES

(28) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → ROW2COLG_IN_GAA(X2, X4, X5)
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLG_IN_GAA(X2, X3, X4)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLG_IN_GAA(x1, x2, x3)  =  ROW2COLG_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(29) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLG_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → ROW2COLG_IN_GAA(X2, X4, X5)
ROW2COLG_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLG_IN_GAA(X2, X3, X4)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLG_IN_GAA(x1, x2, x3)  =  ROW2COLG_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(31) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(32) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLG_IN_GAA(.(X1, X2)) → ROW2COLG_IN_GAA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(33) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLG_IN_GAA(.(X1, X2)) → ROW2COLG_IN_GAA(X2)
    The graph contains the following edges 1 > 1

(34) YES

(35) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLB_IN_GA(.(X1, X2), .(X3, X4)) → ROW2COLB_IN_GA(X2, X4)
ROW2COLB_IN_GA(.(X1, X2), .([], X3)) → ROW2COLB_IN_GA(X2, X3)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLB_IN_GA(x1, x2)  =  ROW2COLB_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(36) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(37) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLB_IN_GA(.(X1, X2), .(X3, X4)) → ROW2COLB_IN_GA(X2, X4)
ROW2COLB_IN_GA(.(X1, X2), .([], X3)) → ROW2COLB_IN_GA(X2, X3)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLB_IN_GA(x1, x2)  =  ROW2COLB_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(38) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(39) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLB_IN_GA(.(X1, X2)) → ROW2COLB_IN_GA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(40) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLB_IN_GA(.(X1, X2)) → ROW2COLB_IN_GA(X2)
    The graph contains the following edges 1 > 1

(41) YES

(42) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → ROW2COLF_IN_GAA(X2, X4, X5)
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLF_IN_GAA(X2, X3, X4)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLF_IN_GAA(x1, x2, x3)  =  ROW2COLF_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(43) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(44) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLF_IN_GAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → ROW2COLF_IN_GAA(X2, X4, X5)
ROW2COLF_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLF_IN_GAA(X2, X3, X4)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLF_IN_GAA(x1, x2, x3)  =  ROW2COLF_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(45) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(46) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLF_IN_GAA(.(X1, X2)) → ROW2COLF_IN_GAA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(47) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLF_IN_GAA(.(X1, X2)) → ROW2COLF_IN_GAA(X2)
    The graph contains the following edges 1 > 1

(48) YES

(49) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), .([], X5)) → ROW2COLD_IN_GAA(X2, X4, X5)
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLD_IN_GAA(X2, X3, X4)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLD_IN_GAA(x1, x2, x3)  =  ROW2COLD_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(50) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(51) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLD_IN_GAA(.(X1, X2), .(X3, X4), .([], X5)) → ROW2COLD_IN_GAA(X2, X4, X5)
ROW2COLD_IN_GAA(.(X1, X2), .([], X3), .([], X4)) → ROW2COLD_IN_GAA(X2, X3, X4)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLD_IN_GAA(x1, x2, x3)  =  ROW2COLD_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(52) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(53) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLD_IN_GAA(.(X1, X2)) → ROW2COLD_IN_GAA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(54) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLD_IN_GAA(.(X1, X2)) → ROW2COLD_IN_GAA(X2)
    The graph contains the following edges 1 > 1

(55) YES

(56) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → ROW2COLH_IN_GAAA(X2, X4, X5, X6)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), .([], X5)) → ROW2COLH_IN_GAAA(X2, X3, X4, X5)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
ROW2COLH_IN_GAAA(x1, x2, x3, x4)  =  ROW2COLH_IN_GAAA(x1)

We have to consider all (P,R,Pi)-chains

(57) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(58) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLH_IN_GAAA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → ROW2COLH_IN_GAAA(X2, X4, X5, X6)
ROW2COLH_IN_GAAA(.(X1, X2), .([], X3), .([], X4), .([], X5)) → ROW2COLH_IN_GAAA(X2, X3, X4, X5)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLH_IN_GAAA(x1, x2, x3, x4)  =  ROW2COLH_IN_GAAA(x1)

We have to consider all (P,R,Pi)-chains

(59) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(60) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLH_IN_GAAA(.(X1, X2)) → ROW2COLH_IN_GAAA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(61) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLH_IN_GAAA(.(X1, X2)) → ROW2COLH_IN_GAAA(X2)
    The graph contains the following edges 1 > 1

(62) YES

(63) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PI_IN_GAAAG(X1, X2, X3, X4, .(X5, X6)) → U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X1, X2, X3, X4))
U44_GAAAG(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X1, X2, X3, X4)) → PI_IN_GAAAG(X5, X3, X7, X8, X6)

The TRS R consists of the following rules:

row2colcH_in_gaaa([], [], [], []) → row2colcH_out_gaaa([], [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], [], []) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [], [], [])
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), []) → U77_gaaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga([], []) → row2colcB_out_ga([], [])
row2colcB_in_ga(.(X1, X2), []) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2), [])
row2colcB_in_ga(.(X1, X2), .([], X3)) → U50_ga(X1, X2, X3, row2colcB_in_ga(X2, X3))
row2colcB_in_ga(.(X1, X2), .(X3, X4)) → U51_ga(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U51_ga(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcB_out_ga(.(X1, X2), .(X3, X4))
U50_ga(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcB_out_ga(.(X1, X2), .([], X3))
U77_gaaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), [])
row2colcH_in_gaaa(.(X1, X2), [], [], .([], X3)) → U78_gaaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
row2colcC_in_ga([], []) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2), []) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2), .([], X3)) → U53_ga(X1, X2, X3, row2colcC_in_ga(X2, X3))
U53_ga(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), [], [], .([], X3))
row2colcH_in_gaaa(.(X1, X2), [], .([], X3), .([], X4)) → U79_gaaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa([], [], []) → row2colcD_out_gaa([], [], [])
row2colcD_in_gaa(.(X1, X2), [], []) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [], [])
row2colcD_in_gaa(.(X1, X2), .([], X3), []) → U55_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U55_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3), [])
row2colcD_in_gaa(.(X1, X2), [], .([], X3)) → U56_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U56_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), [], .([], X3))
row2colcD_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U57_gaa(X1, X2, X3, X4, row2colcD_in_gaa(X2, X3, X4))
row2colcD_in_gaa(.(X1, X2), .(X3, X4), []) → U58_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U58_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), [])
row2colcD_in_gaa(.(X1, X2), .(X3, X4), .([], X5)) → U59_gaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U59_gaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcD_out_gaa(.(X1, X2), .(X3, X4), .([], X5))
U57_gaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X3), .([], X4))
U79_gaaa(X1, X2, X3, X4, row2colcD_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .([], X3), .([], X4))
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), []) → U80_gaaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U80_gaaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), [])
row2colcH_in_gaaa(.(X1, X2), [], .(X3, X4), .([], X5)) → U81_gaaa(X1, X2, X3, X4, X5, row2colcD_in_gaa(X2, X4, X5))
U81_gaaa(X1, X2, X3, X4, X5, row2colcD_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), [], .(X3, X4), .([], X5))
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], []) → U82_gaaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga([], []) → row2colcE_out_ga([], [])
row2colcE_in_ga(.(X1, X2), []) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2), [])
row2colcE_in_ga(.(X1, X2), .([], X3)) → U61_ga(X1, X2, X3, row2colcE_in_ga(X2, X3))
row2colcE_in_ga(.(X1, X2), .(.(X1, X3), X4)) → U62_ga(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U62_ga(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcE_out_ga(.(X1, X2), .(.(X1, X3), X4))
U61_ga(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcE_out_ga(.(X1, X2), .([], X3))
U82_gaaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), []) → U83_gaaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa([], [], []) → row2colcF_out_gaa([], [], [])
row2colcF_in_gaa(.(X1, X2), [], []) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2), [], [])
row2colcF_in_gaa(.(X1, X2), [], .([], X3)) → U64_gaa(X1, X2, X3, row2colcB_in_ga(X2, X3))
U64_gaa(X1, X2, X3, row2colcB_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), [], .([], X3))
row2colcF_in_gaa(.(X1, X2), [], .(X3, X4)) → U65_gaa(X1, X2, X3, X4, row2colcB_in_ga(X2, X4))
U65_gaa(X1, X2, X3, X4, row2colcB_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), [], .(X3, X4))
row2colcF_in_gaa(.(X1, X2), .([], X3), []) → U66_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U66_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcF_out_gaa(.(X1, X2), .([], X3), [])
row2colcF_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U67_gaa(X1, X2, X3, X4, row2colcF_in_gaa(X2, X3, X4))
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U68_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U68_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcF_in_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5)) → U69_gaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U69_gaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcF_out_gaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5))
U67_gaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcF_out_gaa(.(X1, X2), .([], X3), .([], X4))
U83_gaaa(X1, X2, X3, X4, row2colcF_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), [])
row2colcH_in_gaaa(.(X1, X2), .([], X3), [], .([], X4)) → U84_gaaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa([], [], []) → row2colcG_out_gaa([], [], [])
row2colcG_in_gaa(.(X1, X2), [], []) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [], [])
row2colcG_in_gaa(.(X1, X2), [], .([], X3)) → U71_gaa(X1, X2, X3, row2colcC_in_ga(X2, X3))
U71_gaa(X1, X2, X3, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), [], .([], X3))
row2colcG_in_gaa(.(X1, X2), .([], X3), []) → U72_gaa(X1, X2, X3, row2colcE_in_ga(X2, X3))
U72_gaa(X1, X2, X3, row2colcE_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3), [])
row2colcG_in_gaa(.(X1, X2), .([], X3), .([], X4)) → U73_gaa(X1, X2, X3, X4, row2colcG_in_gaa(X2, X3, X4))
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), []) → U74_gaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U74_gaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), [])
row2colcG_in_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5)) → U75_gaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U75_gaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcG_out_gaa(.(X1, X2), .(.(X1, X3), X4), .([], X5))
U73_gaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X3), .([], X4))
U84_gaaa(X1, X2, X3, X4, row2colcG_out_gaa(X2, X3, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), [], .([], X4))
row2colcH_in_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5)) → U85_gaaa(X1, X2, X3, X4, X5, row2colcH_in_gaaa(X2, X3, X4, X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], []) → U86_gaaa(X1, X2, X3, X4, row2colcE_in_ga(X2, X4))
U86_gaaa(X1, X2, X3, X4, row2colcE_out_ga(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), []) → U87_gaaa(X1, X2, X3, X4, X5, row2colcF_in_gaa(X2, X4, X5))
U87_gaaa(X1, X2, X3, X4, X5, row2colcF_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), [])
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5)) → U88_gaaa(X1, X2, X3, X4, X5, row2colcG_in_gaa(X2, X4, X5))
U88_gaaa(X1, X2, X3, X4, X5, row2colcG_out_gaa(X2, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), [], .([], X5))
row2colcH_in_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6)) → U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_in_gaaa(X2, X4, X5, X6))
U89_gaaa(X1, X2, X3, X4, X5, X6, row2colcH_out_gaaa(X2, X4, X5, X6)) → row2colcH_out_gaaa(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), .([], X6))
U85_gaaa(X1, X2, X3, X4, X5, row2colcH_out_gaaa(X2, X3, X4, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X3), .([], X4), .([], X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colcH_in_gaaa(x1, x2, x3, x4)  =  row2colcH_in_gaaa(x1)
[]  =  []
row2colcH_out_gaaa(x1, x2, x3, x4)  =  row2colcH_out_gaaa(x1, x4)
U76_gaaa(x1, x2, x3)  =  U76_gaaa(x1, x2, x3)
row2colcA_in_g(x1)  =  row2colcA_in_g(x1)
row2colcA_out_g(x1)  =  row2colcA_out_g(x1)
U48_g(x1, x2, x3)  =  U48_g(x1, x2, x3)
U77_gaaa(x1, x2, x3, x4)  =  U77_gaaa(x1, x2, x4)
row2colcB_in_ga(x1, x2)  =  row2colcB_in_ga(x1)
row2colcB_out_ga(x1, x2)  =  row2colcB_out_ga(x1)
U49_ga(x1, x2, x3)  =  U49_ga(x1, x2, x3)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
U51_ga(x1, x2, x3, x4, x5)  =  U51_ga(x1, x2, x5)
U78_gaaa(x1, x2, x3, x4)  =  U78_gaaa(x1, x2, x4)
row2colcC_in_ga(x1, x2)  =  row2colcC_in_ga(x1)
row2colcC_out_ga(x1, x2)  =  row2colcC_out_ga(x1, x2)
U52_ga(x1, x2, x3)  =  U52_ga(x1, x2, x3)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U79_gaaa(x1, x2, x3, x4, x5)  =  U79_gaaa(x1, x2, x5)
row2colcD_in_gaa(x1, x2, x3)  =  row2colcD_in_gaa(x1)
row2colcD_out_gaa(x1, x2, x3)  =  row2colcD_out_gaa(x1, x3)
U54_gaa(x1, x2, x3)  =  U54_gaa(x1, x2, x3)
U55_gaa(x1, x2, x3, x4)  =  U55_gaa(x1, x2, x4)
U56_gaa(x1, x2, x3, x4)  =  U56_gaa(x1, x2, x4)
U57_gaa(x1, x2, x3, x4, x5)  =  U57_gaa(x1, x2, x5)
U58_gaa(x1, x2, x3, x4, x5)  =  U58_gaa(x1, x2, x5)
U59_gaa(x1, x2, x3, x4, x5, x6)  =  U59_gaa(x1, x2, x6)
U80_gaaa(x1, x2, x3, x4, x5)  =  U80_gaaa(x1, x2, x5)
U81_gaaa(x1, x2, x3, x4, x5, x6)  =  U81_gaaa(x1, x2, x6)
U82_gaaa(x1, x2, x3, x4)  =  U82_gaaa(x1, x2, x4)
row2colcE_in_ga(x1, x2)  =  row2colcE_in_ga(x1)
row2colcE_out_ga(x1, x2)  =  row2colcE_out_ga(x1)
U60_ga(x1, x2, x3)  =  U60_ga(x1, x2, x3)
U61_ga(x1, x2, x3, x4)  =  U61_ga(x1, x2, x4)
U62_ga(x1, x2, x3, x4, x5)  =  U62_ga(x1, x2, x5)
U83_gaaa(x1, x2, x3, x4, x5)  =  U83_gaaa(x1, x2, x5)
row2colcF_in_gaa(x1, x2, x3)  =  row2colcF_in_gaa(x1)
row2colcF_out_gaa(x1, x2, x3)  =  row2colcF_out_gaa(x1)
U63_gaa(x1, x2, x3)  =  U63_gaa(x1, x2, x3)
U64_gaa(x1, x2, x3, x4)  =  U64_gaa(x1, x2, x4)
U65_gaa(x1, x2, x3, x4, x5)  =  U65_gaa(x1, x2, x5)
U66_gaa(x1, x2, x3, x4)  =  U66_gaa(x1, x2, x4)
U67_gaa(x1, x2, x3, x4, x5)  =  U67_gaa(x1, x2, x5)
U68_gaa(x1, x2, x3, x4, x5)  =  U68_gaa(x1, x2, x5)
U69_gaa(x1, x2, x3, x4, x5, x6)  =  U69_gaa(x1, x2, x6)
U84_gaaa(x1, x2, x3, x4, x5)  =  U84_gaaa(x1, x2, x5)
row2colcG_in_gaa(x1, x2, x3)  =  row2colcG_in_gaa(x1)
row2colcG_out_gaa(x1, x2, x3)  =  row2colcG_out_gaa(x1, x3)
U70_gaa(x1, x2, x3)  =  U70_gaa(x1, x2, x3)
U71_gaa(x1, x2, x3, x4)  =  U71_gaa(x1, x2, x4)
U72_gaa(x1, x2, x3, x4)  =  U72_gaa(x1, x2, x4)
U73_gaa(x1, x2, x3, x4, x5)  =  U73_gaa(x1, x2, x5)
U74_gaa(x1, x2, x3, x4, x5)  =  U74_gaa(x1, x2, x5)
U75_gaa(x1, x2, x3, x4, x5, x6)  =  U75_gaa(x1, x2, x6)
U85_gaaa(x1, x2, x3, x4, x5, x6)  =  U85_gaaa(x1, x2, x6)
U86_gaaa(x1, x2, x3, x4, x5)  =  U86_gaaa(x1, x2, x5)
U87_gaaa(x1, x2, x3, x4, x5, x6)  =  U87_gaaa(x1, x2, x6)
U88_gaaa(x1, x2, x3, x4, x5, x6)  =  U88_gaaa(x1, x2, x6)
U89_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U89_gaaa(x1, x2, x7)
PI_IN_GAAAG(x1, x2, x3, x4, x5)  =  PI_IN_GAAAG(x1, x5)
U44_GAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U44_GAAAG(x1, x5, x6, x7)

We have to consider all (P,R,Pi)-chains

(64) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(65) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PI_IN_GAAAG(X1, .(X5, X6)) → U44_GAAAG(X1, X5, X6, row2colcH_in_gaaa(X1))
U44_GAAAG(X1, X5, X6, row2colcH_out_gaaa(X1, X4)) → PI_IN_GAAAG(X5, X6)

The TRS R consists of the following rules:

row2colcH_in_gaaa([]) → row2colcH_out_gaaa([], [])
row2colcH_in_gaaa(.(X1, X2)) → U76_gaaa(X1, X2, row2colcA_in_g(X2))
row2colcA_in_g([]) → row2colcA_out_g([])
row2colcA_in_g(.(X1, X2)) → U48_g(X1, X2, row2colcA_in_g(X2))
U48_g(X1, X2, row2colcA_out_g(X2)) → row2colcA_out_g(.(X1, X2))
U76_gaaa(X1, X2, row2colcA_out_g(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U77_gaaa(X1, X2, row2colcB_in_ga(X2))
row2colcB_in_ga([]) → row2colcB_out_ga([])
row2colcB_in_ga(.(X1, X2)) → U49_ga(X1, X2, row2colcA_in_g(X2))
U49_ga(X1, X2, row2colcA_out_g(X2)) → row2colcB_out_ga(.(X1, X2))
row2colcB_in_ga(.(X1, X2)) → U50_ga(X1, X2, row2colcB_in_ga(X2))
row2colcB_in_ga(.(X1, X2)) → U51_ga(X1, X2, row2colcB_in_ga(X2))
U51_ga(X1, X2, row2colcB_out_ga(X2)) → row2colcB_out_ga(.(X1, X2))
U50_ga(X1, X2, row2colcB_out_ga(X2)) → row2colcB_out_ga(.(X1, X2))
U77_gaaa(X1, X2, row2colcB_out_ga(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U78_gaaa(X1, X2, row2colcC_in_ga(X2))
row2colcC_in_ga([]) → row2colcC_out_ga([], [])
row2colcC_in_ga(.(X1, X2)) → U52_ga(X1, X2, row2colcA_in_g(X2))
U52_ga(X1, X2, row2colcA_out_g(X2)) → row2colcC_out_ga(.(X1, X2), [])
row2colcC_in_ga(.(X1, X2)) → U53_ga(X1, X2, row2colcC_in_ga(X2))
U53_ga(X1, X2, row2colcC_out_ga(X2, X3)) → row2colcC_out_ga(.(X1, X2), .([], X3))
U78_gaaa(X1, X2, row2colcC_out_ga(X2, X3)) → row2colcH_out_gaaa(.(X1, X2), .([], X3))
row2colcH_in_gaaa(.(X1, X2)) → U79_gaaa(X1, X2, row2colcD_in_gaa(X2))
row2colcD_in_gaa([]) → row2colcD_out_gaa([], [])
row2colcD_in_gaa(.(X1, X2)) → U54_gaa(X1, X2, row2colcA_in_g(X2))
U54_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcD_out_gaa(.(X1, X2), [])
row2colcD_in_gaa(.(X1, X2)) → U55_gaa(X1, X2, row2colcB_in_ga(X2))
U55_gaa(X1, X2, row2colcB_out_ga(X2)) → row2colcD_out_gaa(.(X1, X2), [])
row2colcD_in_gaa(.(X1, X2)) → U56_gaa(X1, X2, row2colcC_in_ga(X2))
U56_gaa(X1, X2, row2colcC_out_ga(X2, X3)) → row2colcD_out_gaa(.(X1, X2), .([], X3))
row2colcD_in_gaa(.(X1, X2)) → U57_gaa(X1, X2, row2colcD_in_gaa(X2))
row2colcD_in_gaa(.(X1, X2)) → U58_gaa(X1, X2, row2colcB_in_ga(X2))
U58_gaa(X1, X2, row2colcB_out_ga(X2)) → row2colcD_out_gaa(.(X1, X2), [])
row2colcD_in_gaa(.(X1, X2)) → U59_gaa(X1, X2, row2colcD_in_gaa(X2))
U59_gaa(X1, X2, row2colcD_out_gaa(X2, X5)) → row2colcD_out_gaa(.(X1, X2), .([], X5))
U57_gaa(X1, X2, row2colcD_out_gaa(X2, X4)) → row2colcD_out_gaa(.(X1, X2), .([], X4))
U79_gaaa(X1, X2, row2colcD_out_gaa(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X4))
row2colcH_in_gaaa(.(X1, X2)) → U80_gaaa(X1, X2, row2colcB_in_ga(X2))
U80_gaaa(X1, X2, row2colcB_out_ga(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U81_gaaa(X1, X2, row2colcD_in_gaa(X2))
U81_gaaa(X1, X2, row2colcD_out_gaa(X2, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X5))
row2colcH_in_gaaa(.(X1, X2)) → U82_gaaa(X1, X2, row2colcE_in_ga(X2))
row2colcE_in_ga([]) → row2colcE_out_ga([])
row2colcE_in_ga(.(X1, X2)) → U60_ga(X1, X2, row2colcA_in_g(X2))
U60_ga(X1, X2, row2colcA_out_g(X2)) → row2colcE_out_ga(.(X1, X2))
row2colcE_in_ga(.(X1, X2)) → U61_ga(X1, X2, row2colcE_in_ga(X2))
row2colcE_in_ga(.(X1, X2)) → U62_ga(X1, X2, row2colcE_in_ga(X2))
U62_ga(X1, X2, row2colcE_out_ga(X2)) → row2colcE_out_ga(.(X1, X2))
U61_ga(X1, X2, row2colcE_out_ga(X2)) → row2colcE_out_ga(.(X1, X2))
U82_gaaa(X1, X2, row2colcE_out_ga(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U83_gaaa(X1, X2, row2colcF_in_gaa(X2))
row2colcF_in_gaa([]) → row2colcF_out_gaa([])
row2colcF_in_gaa(.(X1, X2)) → U63_gaa(X1, X2, row2colcA_in_g(X2))
U63_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcF_out_gaa(.(X1, X2))
row2colcF_in_gaa(.(X1, X2)) → U64_gaa(X1, X2, row2colcB_in_ga(X2))
U64_gaa(X1, X2, row2colcB_out_ga(X2)) → row2colcF_out_gaa(.(X1, X2))
row2colcF_in_gaa(.(X1, X2)) → U65_gaa(X1, X2, row2colcB_in_ga(X2))
U65_gaa(X1, X2, row2colcB_out_ga(X2)) → row2colcF_out_gaa(.(X1, X2))
row2colcF_in_gaa(.(X1, X2)) → U66_gaa(X1, X2, row2colcE_in_ga(X2))
U66_gaa(X1, X2, row2colcE_out_ga(X2)) → row2colcF_out_gaa(.(X1, X2))
row2colcF_in_gaa(.(X1, X2)) → U67_gaa(X1, X2, row2colcF_in_gaa(X2))
row2colcF_in_gaa(.(X1, X2)) → U68_gaa(X1, X2, row2colcE_in_ga(X2))
U68_gaa(X1, X2, row2colcE_out_ga(X2)) → row2colcF_out_gaa(.(X1, X2))
row2colcF_in_gaa(.(X1, X2)) → U69_gaa(X1, X2, row2colcF_in_gaa(X2))
U69_gaa(X1, X2, row2colcF_out_gaa(X2)) → row2colcF_out_gaa(.(X1, X2))
U67_gaa(X1, X2, row2colcF_out_gaa(X2)) → row2colcF_out_gaa(.(X1, X2))
U83_gaaa(X1, X2, row2colcF_out_gaa(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U84_gaaa(X1, X2, row2colcG_in_gaa(X2))
row2colcG_in_gaa([]) → row2colcG_out_gaa([], [])
row2colcG_in_gaa(.(X1, X2)) → U70_gaa(X1, X2, row2colcA_in_g(X2))
U70_gaa(X1, X2, row2colcA_out_g(X2)) → row2colcG_out_gaa(.(X1, X2), [])
row2colcG_in_gaa(.(X1, X2)) → U71_gaa(X1, X2, row2colcC_in_ga(X2))
U71_gaa(X1, X2, row2colcC_out_ga(X2, X3)) → row2colcG_out_gaa(.(X1, X2), .([], X3))
row2colcG_in_gaa(.(X1, X2)) → U72_gaa(X1, X2, row2colcE_in_ga(X2))
U72_gaa(X1, X2, row2colcE_out_ga(X2)) → row2colcG_out_gaa(.(X1, X2), [])
row2colcG_in_gaa(.(X1, X2)) → U73_gaa(X1, X2, row2colcG_in_gaa(X2))
row2colcG_in_gaa(.(X1, X2)) → U74_gaa(X1, X2, row2colcE_in_ga(X2))
U74_gaa(X1, X2, row2colcE_out_ga(X2)) → row2colcG_out_gaa(.(X1, X2), [])
row2colcG_in_gaa(.(X1, X2)) → U75_gaa(X1, X2, row2colcG_in_gaa(X2))
U75_gaa(X1, X2, row2colcG_out_gaa(X2, X5)) → row2colcG_out_gaa(.(X1, X2), .([], X5))
U73_gaa(X1, X2, row2colcG_out_gaa(X2, X4)) → row2colcG_out_gaa(.(X1, X2), .([], X4))
U84_gaaa(X1, X2, row2colcG_out_gaa(X2, X4)) → row2colcH_out_gaaa(.(X1, X2), .([], X4))
row2colcH_in_gaaa(.(X1, X2)) → U85_gaaa(X1, X2, row2colcH_in_gaaa(X2))
row2colcH_in_gaaa(.(X1, X2)) → U86_gaaa(X1, X2, row2colcE_in_ga(X2))
U86_gaaa(X1, X2, row2colcE_out_ga(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U87_gaaa(X1, X2, row2colcF_in_gaa(X2))
U87_gaaa(X1, X2, row2colcF_out_gaa(X2)) → row2colcH_out_gaaa(.(X1, X2), [])
row2colcH_in_gaaa(.(X1, X2)) → U88_gaaa(X1, X2, row2colcG_in_gaa(X2))
U88_gaaa(X1, X2, row2colcG_out_gaa(X2, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X5))
row2colcH_in_gaaa(.(X1, X2)) → U89_gaaa(X1, X2, row2colcH_in_gaaa(X2))
U89_gaaa(X1, X2, row2colcH_out_gaaa(X2, X6)) → row2colcH_out_gaaa(.(X1, X2), .([], X6))
U85_gaaa(X1, X2, row2colcH_out_gaaa(X2, X5)) → row2colcH_out_gaaa(.(X1, X2), .([], X5))

The set Q consists of the following terms:

row2colcH_in_gaaa(x0)
row2colcA_in_g(x0)
U48_g(x0, x1, x2)
U76_gaaa(x0, x1, x2)
row2colcB_in_ga(x0)
U49_ga(x0, x1, x2)
U51_ga(x0, x1, x2)
U50_ga(x0, x1, x2)
U77_gaaa(x0, x1, x2)
row2colcC_in_ga(x0)
U52_ga(x0, x1, x2)
U53_ga(x0, x1, x2)
U78_gaaa(x0, x1, x2)
row2colcD_in_gaa(x0)
U54_gaa(x0, x1, x2)
U55_gaa(x0, x1, x2)
U56_gaa(x0, x1, x2)
U58_gaa(x0, x1, x2)
U59_gaa(x0, x1, x2)
U57_gaa(x0, x1, x2)
U79_gaaa(x0, x1, x2)
U80_gaaa(x0, x1, x2)
U81_gaaa(x0, x1, x2)
row2colcE_in_ga(x0)
U60_ga(x0, x1, x2)
U62_ga(x0, x1, x2)
U61_ga(x0, x1, x2)
U82_gaaa(x0, x1, x2)
row2colcF_in_gaa(x0)
U63_gaa(x0, x1, x2)
U64_gaa(x0, x1, x2)
U65_gaa(x0, x1, x2)
U66_gaa(x0, x1, x2)
U68_gaa(x0, x1, x2)
U69_gaa(x0, x1, x2)
U67_gaa(x0, x1, x2)
U83_gaaa(x0, x1, x2)
row2colcG_in_gaa(x0)
U70_gaa(x0, x1, x2)
U71_gaa(x0, x1, x2)
U72_gaa(x0, x1, x2)
U74_gaa(x0, x1, x2)
U75_gaa(x0, x1, x2)
U73_gaa(x0, x1, x2)
U84_gaaa(x0, x1, x2)
U86_gaaa(x0, x1, x2)
U87_gaaa(x0, x1, x2)
U88_gaaa(x0, x1, x2)
U89_gaaa(x0, x1, x2)
U85_gaaa(x0, x1, x2)

We have to consider all (P,Q,R)-chains.

(66) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U44_GAAAG(X1, X5, X6, row2colcH_out_gaaa(X1, X4)) → PI_IN_GAAAG(X5, X6)
    The graph contains the following edges 2 >= 1, 3 >= 2

  • PI_IN_GAAAG(X1, .(X5, X6)) → U44_GAAAG(X1, X5, X6, row2colcH_in_gaaa(X1))
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3

(67) YES